package com.lhkj.ct.meta.admin.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.lhkj.ct.base.model.dto.PageQuery;
import com.lhkj.ct.base.mybatis.extension.service.IPageService;
import com.lhkj.ct.base.mybatis.extension.service.IService;
import com.lhkj.ct.meta.admin.model.entity.TblDictType;

import java.util.List;

/**
 * <p>
 * 字典类型表 服务类
 * </p>
 *
 * @author jobob
 * @since 2023-09-07
 */
public interface SysDictTypeService extends IService<TblDictType>, IPageService<TblDictType> {

    /**
     * 字典类型分页列表
     *
     * @param  queryParams 分页查询对象
     */
    IPage<TblDictType> selectDictTypePage(TblDictType tblDictType, PageQuery queryParams);

    /**
     * 重置字典缓存数据
     */
    void resetDictCache();

    /**
     * 加载字典缓存数据
     */
    void loadingDictCache();


    /**
     * 校验字典类型称是否唯一
     *
     * @param dictType 字典类型
     * @return 结果
     */
    boolean checkTypeCodeUnique(TblDictType dictType);

    List<TblDictType> options();
}
